package com.sinodata.bsm.common.vo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * ProtocolParameter entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "PROTOCOL_PARAMETER")
public class ProtocolParameter implements java.io.Serializable {

    // Fields    

    /**
     * 
     */
    private static final long serialVersionUID = 4043795889141732598L;

    private Long id;
    private String type;
    private String ip;
    private Integer port;
    private String userName;
    private String pwd;
    private String prompt;
    private String protocol;
    private String instName;
    private String url;
    private String instType;
    private Integer maxConn;

    private String sshdAuthType; //sshd的认证方式
    private String sshdAuthFile; //sshd认证所需的文件

    // Constructors

    /** default constructor */
    public ProtocolParameter() {
    }

    /** minimal constructor */
    public ProtocolParameter(Long id) {
        this.id = id;
    }

    /** full constructor */
    public ProtocolParameter(Long id, String type, String ip, Integer port, String userName, String pwd, String prompt, String protocol, String instName, String url, String instType, Integer maxConn) {
        this.id = id;
        this.type = type;
        this.ip = ip;
        this.port = port;
        this.userName = userName;
        this.pwd = pwd;
        this.prompt = prompt;
        this.protocol = protocol;
        this.instName = instName;
        this.url = url;
        this.instType = instType;
        this.maxConn = maxConn;
    }

    // Property accessors
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence")
    @SequenceGenerator(name = "sequence", sequenceName = "PROTOCOL_PARAMETER_SEQ")
    @Column(name = "ID", unique = true, nullable = false, precision = 18, scale = 0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "ProtocolParameter [id=" + id + ", type=" + type + ", ip=" + ip + ", port=" + port + ", userName=" + userName + ", pwd=" + pwd + ", prompt=" + prompt + ", protocol=" + protocol + ", instName=" + instName + ", url=" + url + ", instType=" + instType + ", maxConn=" + maxConn + ", sshdAuthType=" + sshdAuthType + ", sshdAuthFile=" + sshdAuthFile + "]";
    }

    @Column(name = "TYPE", length = 32)
    public String getType() {
        return this.type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Column(name = "IP", length = 32)
    public String getIp() {
        return this.ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    @Column(name = "PORT", precision = 5, scale = 0)
    public Integer getPort() {
        return this.port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    @Column(name = "USER_NAME", length = 32)
    public String getUserName() {
        return this.userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Column(name = "PWD", length = 32)
    public String getPwd() {
        return this.pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Column(name = "PROMPT", length = 16)
    public String getPrompt() {
        return this.prompt;
    }

    public void setPrompt(String prompt) {
        this.prompt = prompt;
    }

    @Column(name = "PROTOCOL", length = 16)
    public String getProtocol() {
        return this.protocol;
    }

    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }

    @Column(name = "INST_NAME", length = 32)
    public String getInstName() {
        return this.instName;
    }

    public void setInstName(String instName) {
        this.instName = instName;
    }

    @Column(name = "URL", length = 128)
    public String getUrl() {
        return this.url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    @Column(name = "INST_TYPE", length = 32)
    public String getInstType() {
        return this.instType;
    }

    public void setInstType(String instType) {
        this.instType = instType;
    }

    @Column(name = "MAX_CONN", precision = 5, scale = 0)
    public Integer getMaxConn() {
        return this.maxConn;
    }

    public void setMaxConn(Integer maxConn) {
        this.maxConn = maxConn;
    }

    @Column(name = "SSHD_AUTHTYPE", length = 32)
    public String getSshdAuthType() {
        return sshdAuthType;
    }

    public void setSshdAuthType(String sshdAuthType) {
        this.sshdAuthType = sshdAuthType;
    }

    @Column(name = "SSHD_AUTHFILE", length = 64)
    public String getSshdAuthFile() {
        return sshdAuthFile;
    }

    public void setSshdAuthFile(String sshdAuthFile) {
        this.sshdAuthFile = sshdAuthFile;
    }

}